using System.Runtime.InteropServices;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.Video;

/****************************************************
// 功能：登录界面
// | Talk To [ 聊来改善地区金融服务环境，助力企业发展 ]
// | Copyright (c) 2021-2025 聊来 All rights reserved.
// | Licensed ( <a href="http://www.apache.org/licenses/LICENSE-2.0">聊来</a> )
// | @Author: 贯彻己道的云 <18970881148@qq.com>
// | DateTime: 2024/12/30 15:18:17
*****************************************************/

public class LoginWindow : BaseWindow
{
    private VideoPlayer videoPlayer;
    private UnityWebRequest web;

    private void Awake()
    {
        videoPlayer = FindChildTransform(transform, "videoPlayer").GetComponent<VideoPlayer>();
    }

    protected override void InitWindows()
    {
        base.InitWindows();

#if UNITY_ANDROID || UNITY_IOS
        PhoneController.Instance.loginSuccess += LoginSuccess;
        PhoneController.Instance.loginFail += LoginFail;
        PhoneController.Instance.loginCancel += LoginCancel;

        if (!PhoneController.Instance.isLogin)
        {
            PhoneController.Instance.AutoLogin();
        }
#endif
        web = UnityWebRequest.Get("http://images.pxphjr.cn/P1.mp4");
        StartCoroutine(SetDownViewPlayerToLocal(web, videoPlayer,"P1.mp4", PlayerPrefs.GetInt(Constants.OPEN_VIDEO_PLAYER)));
    }

    protected override void ClearWindows()
    {
        base.ClearWindows();
        PhoneController.Instance.loginSuccess -= LoginSuccess;
        PhoneController.Instance.loginFail -= LoginFail;
        PhoneController.Instance.loginCancel -= LoginCancel;
    }

    /// <summary>
    /// TODO 弹窗提示
    /// 后期请求网络获取提示语
    /// </summary>
    public void ClickAlertButton(int index = 0)
    {
        string content = "";
        switch (index)
        {
            case 0:
                content = "1）本游戏是一款玩法相对复杂的MOBA类游戏，适用于年满12周岁及以上的用，建议未成年人在家长监护下使用游戏产品。\n " +
                          "2）本游戏基于架空的故事背景和幻想世界观，画面色彩鲜、配乐明快，没有设置主体剧情。游戏中部分英雄角色有基于历史的适量改编，不会与现实相混淆。游戏中有需要多人进行的团队竞技，玩法基于一定难度的思维判断和操作，鼓励玩家通沟通、思考和训练达成目标。游戏中有基于语音和文字的陌生人社交系统，但社交系统的管理遵循相关法律法规。\n " +
                          "3）根据国家相关要求，游戏中有用户实名认证系统，未通过实名认证的用户不可进入游戏；认证为未成年人的用户除周五、周六、周日及法定节假日每日20时至21时外其他时间均不可进入游戏。\r " +
                          "游戏中部分玩法和道具需要付费，根据腾讯健康系统管理规定，认证为未成年人的用户将接收一下管理：\r " +
                          "未满12周岁的用户不能付费；12周岁以上未满16周岁的未成年人用户，单次充值金额不得超过50元人民币，每月充值金额累计不得超过200元人民币；\r " +
                          "16周岁以上的未成年人用户，单次充值金额不得超过100元人民币，每月充值金额累计不得超过400元人民币。\n " +
                          "4）游戏竞技中的操作训练有助于锻炼玩家的手眼协调能力和快速反应能力，基于团队的玩法可以锻炼玩家的沟通能力、团队协作能力和大局观；同时游戏画面、角色设计、服饰搭配等方面结合了众多中华传统文化元素，如敦煌飞天、传统戏曲等，能够激起玩家对优秀传统文化的兴趣，增强文化认同感。";
                break;
        }

        UIManager.Instance.PopUp(WindowName.Alert, content);
    }

    #region 点击事件

    /// <summary>
    /// QQ登录
    /// </summary>
    public void OnClickQQ()
    {
        audioManager.PlayUIAudio(Constants.UI_LOGIN_BTN);
        PhoneController.Instance.Login(PlatformEnum.QQ);
    }

    /// <summary>
    /// 微信登录
    /// </summary>
    public void OnClickWX()
    {
        audioManager.PlayUIAudio(Constants.UI_LOGIN_BTN); 
        PhoneController.Instance.Login(PlatformEnum.WX);
    }

    /// <summary>
    /// 游客登录
    /// </summary>
    public void OnClickYouKe()
    {
        audioManager.PlayUIAudio(Constants.UI_LOGIN_BTN);
        PhoneController.Instance.Login(PlatformEnum.None);
    }

    #endregion
    
    #region 登录相关

    private void LoginSuccess(PlatformEnum platform)
    {
        ui.ShowTips("登录成功");

    }

    private void LoginFail(PlatformEnum platform)
    {
        ui.ShowTips("登录失败");
    }

    private void LoginCancel(PlatformEnum platform)
    {
        ui.ShowTips("取消登录");
    }

    #endregion
    
    private void OnDestroy()
    {
        if (PlayerPrefs.HasKey(Constants.OPEN_VIDEO_PLAYER))
        {
            PlayerPrefs.DeleteKey(Constants.OPEN_VIDEO_PLAYER);
        }
    }
}